import request from '@/utils/request';
import type { BaseBeanModel, ResponsePageData, ResponseBaseData, QueryParamModel } from '@/api/model/baseModel';
const basePath = '/appsys/canledarzhuzi/sysjobcalendar/SysJobCalendarRest';
/** 任务日历中的天，与任务日历表为多对一关系。定义了哪些天需要被排除。 */
export interface SysJobCalendarDateDto extends BaseBeanModel {
  /** 任务日历主键，表示这一天属于哪一日历。 */
  jobCalendarId?: string;
  /** 排除的日期 */
  excludedDate?: any;
  excludedDateBegin?: any;
  excludedDateEnd?: any;
  /** 描述 */
  description?: string;
}

/**
 * 获取分页数据
 * @param param 查询参数
 * @returns 表格分页数据
 */
export function listSysJobCalendarDateByPage(param: {
  dto1: QueryParamModel;
}): Promise<ResponsePageData<SysJobCalendarDateDto>> {
  return request.post(`${basePath}/searchSysJobCalendarDateByPage/v1`, param);
}

/**
 * 根据id加载数据
 * @param id 数据id
 * @returns 根据数据id获取到的数据
 */
export function getSysJobCalendarDate(id: string): Promise<ResponseBaseData<SysJobCalendarDateDto>> {
  return request.get(`${basePath}/getSub/v1/${id}`);
}

/**
 * 保存表单数据
 * @param form 表单数据
 * @returns 保存结果
 */
export function saveSysJobCalendarDate(form: SysJobCalendarDateDto): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/insertSysJobCalendarDate/v1`, form);
}

/**
 * 根据id集合删除数据
 * @param ids 数据id集合
 * @returns 删除结果
 */
export function delSysJobCalendarDate(ids: [string]): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/deleteSysJobCalendarDateByIds/v1`, ids);
}
